<%# Include entity headers -%>
<% require 'set' -%>
<%  includes = Set.new([entity.name]) -%>
<%  (entity.static_methods + entity.methods).each do |method| -%>
<%    includes << method.return_type.name if method.return_type.is_struct || method.return_type.is_class -%>
<%    method.parameters.each do |param| -%>
<%      includes << param.type.name if param.type.is_struct || param.type.is_class -%>
<%    end -%>
<%  end -%>
<%  includes.each do |include| -%>
#include <TrustWalletCore/TW<%= include %>.h>
<%  end -%>

<%  includes.each do |include| -%>
<%  next if include == entity.name -%>
#include "./<%= include %>.h"
<%  end -%>

#include <emscripten/bind.h>

using namespace emscripten;
